Automatically Paired Devices

ABSTRACT

A system and method for automatically connecting an accessory with a host device are disclosed. The accessory may include a private key and a public key, wherein the public key is associated with an account. The same account may be associated with the host device. The accessory may transmit an encrypted message, including a key, to the host device, wherein the key may be the public key. Upon decryption and validation of the key, the accessory and host device may automatically connect via short-range wireless pairing.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 16/390,174 filed Apr. 22, 2019, the disclosure of which arehereby incorporated herein by reference.

BACKGROUND

Accessories compatible with a host device, such as a mobile phone, maybe connected via a wire or short-range wireless pairing. For instance,certain types of wireless headphones may be connected to a mobile phonevia Bluetooth. In some cases, the host device and accessory may beobtained from the same entity, e.g., a user may create an account with amobile phone provider and obtain both the phone and the wirelessheadphones from the provider.

In order to establish a secure communication channel between the hostdevice and the accessory that is cryptographically resistant to attack,the user may be required to pair the accessory with the device. Usersmay find the pairing process to be cumbersome. For example, in order topair headphones with a mobile phone, the user may be required tonavigate through a variety of screens to find and enable the Bluetoothpairing function in the phone's settings, find the correct button (orcombination of buttons) to press on the accessory to enable itsBluetooth pairing function, select the headphones when they aredisplayed on the phone's screen, and potentially press additionalbuttons on the phone or headphones to confirm that the pairing shouldtake place. If the accessory has a screen, the user may also be furtherprompted to confirm that an alphanumeric code displayed on the accessorymatches the alphanumeric code displayed on the host device. In additionto having a potentially negative impact on the user's out of boxexperience (“OOBE”), a complex and time consuming pairing processincreases the likelihood that the process will fail.

BRIEF SUMMARY

The present disclosure provides for the automatic connection of devices,such as between an accessory and a host device.

One aspect of the disclosure provides for an accessory having a shortrange wireless antenna, memory configured to store a public key and aprivate key, and one or more processors coupled to the memory andconfigured to transmit an encrypted message to a host device. The publickey may be associated with the accessory and an account. The host devicemay also be associated with the account. The accessory and host devicemay automatically connect via short-range wireless pairing.

The public key may be associated with the serial number of the accessoryand, in some instances, the key within the encrypted message transmittedby the accessory may be the public key.

The host device, upon receiving the encrypted message from theaccessory, may validate the key. Further, the host device and accessorymay automatically connect without receiving a user input, wherein theonly user input that the accessory may receive is an input to associatethe accessory with the account before automatically connecting theaccessory and host device. When the accessory and host deviceautomatically connect, confirmation may be received from the host devicethat the accessory is associated with the account.

Another aspect of the disclosure provides a method for an accessory toautomatically connect to a host device. The method includes associatinga public key and a private key with an accessory; associating the publickey associated with the accessory with an account, wherein the accountis also associated with a host device; transmitting, by the accessory,an encrypted message that includes a key, wherein the encrypted messageis adapted to be decrypted by the host device; and automaticallyconnecting, by the accessory, to the host device via a short-rangewireless pairing when the encrypted message is decrypted.

In some instances, the public key and private key may be associated withthe accessory during purchase by a user. Alternatively, the public keyand private key may be associated with the accessory automatically whenthe accessory is purchased via a website associated with the account. Inyet another example, the public key and private key may be associatedwith the accessory after purchase by a user. For example, the public keyand private key may be associated with the accessory usingradio-frequency identification. Alternatively, the public key andprivate key may be associated with the accessory using near-fieldcommunication. The public key may be associated with a serial number ofthe accessory.

In some instances, the account may be identified by a user's emailaddress and associating the public key with the account comprisingreceiving the public key and the user's email address.

In some instances, automatically connecting may comprise receivingconfirmation from the host device that the accessory is associated withthe account. Further, according to some examples, the key included inthe encrypted message may be the public key.

Another aspect of the disclosure provides a method for a host device toautomatically connect to an accessory. The method includes associating ahost device with an account, wherein the account is also associated withan accessory having a public key and a private key; associating, via anetwork, the public key of the accessory associated with the accountwith the host device; receiving, using one or more processors of thehost device, an encrypted message transmitted by the accessory;validating, using the one or more processors of the host device, a keyin the encrypted message; and connecting, via short-range wirelesspairing, to the accessory.

In some instances, the host device may search, using the one or moreprocessor of the host device, for the public key. In some examples, theaccessory may be headphones. Thus, according to some examples, the hostdevice may provide audio signals to the accessory after automaticallyconnecting to the accessory.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional diagram of an example system in accordance withaspects of the disclosure.

FIG. 2 is a functional diagram exemplifying the connections among a hostdevice, an account, and a server in accordance with aspects of thedisclosure.

FIG. 3 is a functional diagram exemplifying the connection methodbetween the host device and accessory in accordance with aspects of thedisclosure.

FIG. 4 is a functional diagram further exemplifying the connectionsamong a host device, a server, and an accessory in accordance withaspects of the disclosure.

FIG. 5 is a diagram in accordance with aspects of the disclosure.

FIG. 6 is a flow diagram in accordance with aspects of the disclosure.

DETAILED DESCRIPTION

Overview

The systems and methods described herein permit the automatic connectingof devices. For instance, an accessory may include a short-rangewireless network antenna, one or more processors, and a memory storing aprivate key and a public key. The public key stored on the accessory andthe host device to be connected with the accessory may be associatedwith the same account. For example, when the accessory was provided tothe user, the public key may have been associated with the same accountthat the host device uses to connect to a cellular network or send andreceive emails. When the accessory is within range of the host device,the accessory may transmit an encrypted message including a key to thehost device and automatically connect with the host device viashort-range wireless pairing.

The account may be associated with the public key of the accessory. Theaccount that becomes associated with the public key of the accessory maybe the same account associated with the host device, and the public keymay be shared with the host device.

When the host device and accessory are within range of each other, theaccessory may transmit an encrypted message. The host device may receivethe encrypted message and validate its contents, which may includeconfirming that the accessory transmitting the encrypted message has thesame public key associated with the account, and is, therefore,authorized to be connected to the host device. Upon validation, the hostdevice and accessory may automatically connect, such that they becomepaired via short-range wireless pairing.

By providing for automatic connection, the user experience may beimproved. For example, a new accessory may automatically connect with ahost device without user input at the time of unboxing the accessory.Moreover, a secured communication channel may be established between theaccessory and the host device, thereby making the accessory and hostdevice less subject to attack.

Example Systems

FIG. 1 illustrates an example system 100 in which the features describedabove may be implemented. It should not be considered as limiting thescope of the disclosure or usefulness of the features described herein.In this example, system 100 may include accessory 110, host device 140,and server 115 connected via network 160. Accessory 110 may contain oneor more processors 118, an antenna 120, and memory 112. The antenna maybe, for example, a short-range wireless network antenna. The accessory110 may be able to communicate with server 115 and host device 140 vianetwork 160.

Memory 112 of accessory 110 may store information that is accessible byprocessor 112. Memory 112 may also include data that can be retrieved,manipulated or stored by the processor 118. The memory 112 may be of anynon-transitory type capable of storing information accessible by theprocessor 118, including a non-transitory computer-readable medium, orother medium that stores data that may be read with the aid of anelectronic device, such as a hard-drive, memory card, read-only memory(“ROM”), random access memory (“RAM”), optical disks, as well as otherwrite-capable and read-only memories.

The data stored in memory 112 of accessory 110 may include private key114 and public key 116. Public key 116 may be a unique identifierassociated with accessory 110. The private key 116 may be stored only inthe memory 112 of accessory 110 and may not be available elsewhere. Theprivate key 116 and public key 114 may, in some examples, be created andstored on accessory 110 when the accessory is manufactured. The publickey 116 may be associated with a serial number of the accessory 110, andthe public key and its associated serial number may be provided toserver 115. As such, server 115 may maintain a database (not shown) thatpairs the serial number of the accessory to the public key 116 andprivate key 114.

Alternatively, the public key 114 and private key 116 may be associatedwith accessory 110 during the shipping process. For example, a boxcontaining accessory 110 may be passed through a machine that utilizesradio-frequency identification (RFID) or near-field communication (NFC)to associate the public and private keys with the accessory 110. Afterassociating the public and private keys via RFID or NFC and storing thepublic and private keys in its memory, the accessory 110 may be shipped.

In another alternative, the public key 114 and private key 116 may beassociated with accessory 110 at the location where the accessory 110 isdistributed, such as a retail store or the warehouse from which anonline retail store ships the accessory. In this instance, thedistributor may unwrap the sealed accessory 110, program the accessory110 to have the public key 114 and private key 116, and then repackagethe accessory 110. In yet another alternative, the public key 114 andprivate key 116 may be associated with accessory 110 by a vendor orprovider, different than the vendor or provider of the account, who willcooperate with the vendor or provider of account 130 so that the publickey may be shared with the account.

The one or more processors 118 may include any conventional processors,such as a commercially available CPU or microprocessor. Alternatively,the processor can be a dedicated component such as an ASIC or otherhardware-based processor. Although not necessary, accessory 110 mayinclude specialized hardware components to perform specific computingfunctions faster or more efficiently. The one or more processors 118 maybe configured to transmit encrypted messages.

Although FIG. 1 functionally illustrates the processor, memory, andother elements of accessory 110 as being within the same respectiveblocks, it will be understood by those of ordinary skill in the art thatthe processor or memory may actually include multiple processors ormemories that may or may not be stored within the same physical housing.Similarly, the memory may be a hard drive or other storage media locatedin a housing different from that of the accessory 110. Accordingly,references to a processor or computing device will be understood toinclude references to a collection of processors or computing devices ormemories that may or may not operate in parallel.

The accessory 110 can be at various nodes of a network 160 and capableof directly and indirectly communicating with other nodes of network160. Although only a single accessory is depicted in FIG. 1 , it shouldbe appreciated that a typical system can include one or moreaccessories, with each accessory being at a different node of network160. The network 160 and intervening nodes described herein can beinterconnected using various protocols and systems, such that thenetwork can be part of the Internet, World Wide Web, specific intranets,wide area networks, or local networks. The network 160 can utilizestandard communications protocols, such as WiFi, that are proprietary toone or more companies. Although certain advantages are obtained wheninformation is transmitted or received as noted above, other aspects ofthe subject matter described herein are not limited to any particularmanner of transmission.

The host device 140 may be configured similarly to the accessory 110,with one or more processors 142 and memory 148, as described above.Memory 148 may store information that is accessible by the processors142, including instructions 146 that may be executed by processors 142,and data 144.

Data 144 may be retrieved, stored or modified by processors 142 inaccordance with instructions 146. For instance, although the presentdisclosure is not limited by a particular data structure, the data 144may be stored in computer registers, in a relational database as a tablehaving a plurality of different fields and records, XML documents, orflat files. The data 144 may also be formatted in a computer-readableformat such as, but not limited to, binary values, ASCII or Unicode. Byfurther way of example only, the data 144 may comprise informationsufficient to identify the relevant information, such as numbers,descriptive text, proprietary codes, pointers, references to data storedin other memories (including other network locations) or informationthat is used by a function to calculate the relevant data. In accordancewith one example, data 144 may include credentials associated withaccount 130 thereby associating host device 140 with account 130. Data144 may also include public keys 135.

The instructions 146 can be any set of instructions to be executeddirectly, such as machine code, or indirectly, such as scripts, by theprocessor 142. In that regard, the terms “instructions,” “application,”“steps,” and “programs” can be used interchangeably herein. Theinstructions can be stored in object code format for direct processingby the processor, or in any other computing device language includingscripts or collections of independent source code modules that areinterpreted on demand or compiled in advance. Functions, methods androutines of the instructions are explained in more detail below.

The host device 140 may further include an antenna 150. The antenna 150may be, for example, a short-range wireless network antenna. The hostdevice 140 may be able to communicate with account 130 and server 115via network 160.

Host device may be a mobile computing device capable of wirelesslyexchanging data over the network 160. By way of example only, hostdevice 140 may be a mobile phone or a device such as a smart phone, atablet PC, or a netbook that capable of obtaining information via theInternet. In another example, host device 140 may be a head-mountedcomputing system. Alternatively, host device 140 may be a personalcomputing device intended for use by a user 125, and have all of thecomponent normally used in connection with a personal computing devicesuch as a central processing unit (CPU), a display (e.g., a monitorhaving a screen, a touch-screen, a projector, a television, or otherdevice that is operable to display information), and user 125 inputdevice (e.g., a mouse, keyboard, touch-screen or microphone). Althoughonly a single host device is depicted in FIG. 1 , it should beappreciated that at typical system can include one or more host devices,with each host device being a different node of network 160.

Host device 140 may be associated with an account 130. For instance,data 144 stored on host device 140 may include a unique identifier thatis used to access account information stored on server 115 via network160. The account 130 may be used to obtain private and public keys ofauthorized or associated devices. For example, account 130 may beassociated with a provider, such as a cellular phone service provider oran e-mail host provider, such as Google. Alternatively, the account 130may be used to log into a play store or app store on host device 140.

Example Methods

FIG. 2 illustrates one example of the relationships that may exist amonghost device 140, server 115, accessory 110, and user 125 before theaccessory and host device are connected. In this example, user 125visits a website that is, for ease of illustration, hosted on the sameserver as account 130. User 125 may log into account 130, purchaseaccessory 110, and submit a request 180 that the accessory be shipped tothe user's address.

The public key associated with the accessory may be associated with theaccount. For instance, server 115 may store a copy or reference topublic key 116 with the other information in account 130, therebycreating an association 182 between account 130 and accessory 110. Theassociation may occur at the time the user 125 purchases the accessory110. Alternatively, the user 125 may purchase the accessory 110 withoutusing an account. The user 125 may then associate the public key 116with account 130 at a later date by submitting a request to a server115. In yet another alternative, the user 125 may visit a brick andmortar store to purchase the accessory 110. The user may then associatethe public key 116 with account 130 at the time of purchase or at alater date in accordance with methods described above.

The public key may be associated with the host device that is associatedwith the account. For example, host device 140 may include instructionsfor requesting public keys that have been associated with account 130 orresponding to messages from server 115 that a public key for anaccessory has been added to the account. In either case, host device 140may receive the public key associated with account 130 and store it asone of the public keys 135 within data 144, thereby creating anassociation 184 between account 130 and host device 140.

FIG. 3 illustrates an example of the exchange of information between thehost device and accessory when they are within range of each other. Byway of example, host device 140 and accessory 110 each have an antenna150, 120, respectively, wherein the antennas 150, 120 may be short rangewireless network antennas. For instance, the antennas may be used totransmit and receive Bluetooth signals. Thus, there may be a maximumdistance between host device 140 and accessory 110 that would allow hostdevice 140 and accessory 110 to be within range of each other.

When the host device and accessory are within range of each other, thehost device or accessory, or both, may detect the presence of the other.For example, host device 140 may determine whether a previously-unknownaccessory is within range by periodically checking whether the antennareceived a connection request and, if so, alerting accessory 110 to itspresence. Host device 140 may also emit a connection request andaccessory 110 may alert host device 140 of its presence.

The accessory may transmit an encrypted message to be received by hostdevice. The encrypted message may be encrypted using the private key.According to one example, the encrypted message may be associated with akey. For instance, the host device may recognize the format of themessage as an opportunity to automatically pair with the accessory, andthe host device may determine whether it is authorized to automaticallyconnect with the accessory by searching for a matching key among thekeys associated with the account.

The key may be, for example, public key 116, private key 114, a uniqueidentification code, or any other form of identification that hostdevice received from account 130 for the purpose of pairing with anaccessory that is also associated with the account. In the example shownin FIG. 3 , encrypted message 186 shall be considered to include publickey 116.

The host device may receive the encrypted message transmitted by theaccessory. Upon receipt of the encrypted message, the host device 140may decrypt the message. The message may, for example, be decryptedusing the public key. For instance, the host device may use the publickey associated with the account, and corresponding to the private key ofthe accessory, to decrypt the message.

Upon receipt of the key from the accessory, the host device maydetermine whether the key matches the key of an accessory associatedwith the account. For example and as noted above, data 144 of hostdevice 140 may store public key 116 among the plurality of public keys135. Since message 186 from accessory 110 includes public key 116, andsince the plurality of keys 135 stored by host device 140 includes a keywith the same value as public key 116, host device 140 may validate thekey, e.g., determine that it is authorized to automatically connect 188with accessory 110.

In another example, the accessory may encrypt a message including asecret value using the private key. After the host device receives theencrypted message, the accessory may expect an echo of this value backfrom the host device. The echo back may include a similarly encryptedmessage using the public key. This may, for example, indicate that thehost device has the public key that matches the public key of theaccessory associated with the account.

FIG. 4 illustrates relationships between a host device and accessoryafter the host device validate the key associated with both theaccessory and the account. For example, after host device 140 validatesthe key sent by accessory 110, host device 140 may automatically connect190 to the accessory. For instance, upon confirming that the public key116 stored in message 186 from accessory 110 matches one of the keys 135that are stored on host device 110 and associated with the account 130,host device 140 may automatically connect with accessory 110 (e.g., viaBluetooth pairing) without requiring any intervention or confirmationfrom the user. By way of further example, host device 140 and accessory110 may automatically connect to each other and exchange data beyondwhat is specific to creating (or maintaining) the connection itself. Inthat regard, if the accessory is a pair of headphones and the hostdevice is a phone, the headphones may receive audio signals sent fromthe phone. Alternatively, if the accessory is a game controller and thehost device is a console, the console may accept game commands sent fromthe game controller.

The accessory may be powered on before the user receives it, in whichcase the accessory and host device may connect automatically without anyuser intervention beyond bringing the accessory and host device withinrange of each other. As a result, instead of an otherwise cumbersome orcomplicated OOBE experience, the user may begin using the accessory forits intended purpose (e.g., as headphones) immediately after taking theaccessory out of the box. Alternatively, if accessory 110 does not comepowered on, user 125 may only have to un-box and power on accessory 110in order for it to automatically connect with host device 140.

To the extent the OOBE involves actions that are not specific toconnecting the devices, those aspects may be completed OOBE upon receiptof the accessory or at the time of purchase. Such OOBE actions mayinclude, for example, reading and signing off on legalese, inputtinguser 125 data, confirming instructions for use, opting in or out ofparticular features, data collection, and the like. The vendor may offerthe user 125 the ability to customize features related to the accessoryat the time of sale. For example, if the user purchases the accessory ata brick and mortar store, a vendor may provide a user with access to akiosk for the purpose of securely logging into their account and optingin or out of particular features. The accessory's key and the user'sselections may then be associated with account 130, host device 110 mayretrieve the user's selections from server 115 along with theaccessory's key, and then operate in accordance with the user'sselection. Therefore, upon receipt of the purchased accessory 110, theuser 125 may have already completed the OOBE and may begin usingaccessory 110 immediately.

FIG. 5 illustrates a sequence of steps that may occur among account 130,accessory 110, and host device 140. For example, in block 510, the hostdevice may be associated with the account 130 stored on the server.According to one embodiment, the host device 140 may be associated withaccount 130 when setting up host device 140. For example, when settingup host device 140, the user may be asked to enter an email address andaccount 130 may be or include an email account, store account or cellphone account associated with that address.

In block 520, the public key associated with the accessory may beassociated with the account. According to one embodiment, when the userpurchases the accessory, the relevant store may associate the public keywith the account. For instance, if the user obtained the accessory froma different entity than the entity that hosts the account, the user maypermit the first entity to send the public key and the user's accountidentifier to the second entity.

Once the account and the public key associated with the accessory areassociated with each other, in block 530, the public key associated withaccessory may be shared with the host device. According to one example,the public key associated with accessory 110 may be transmitted to thehost device via a server. Alternatively, the host device 140 may send arequest to the server to receive the public key associated with account130.

In block 540, the accessory may transmit an encrypted message. Theencrypted message may contain a key for automatically connecting theaccessory and host device.

In block 550, the host device may receive, decrypt and extract the keyfrom the encrypted message. For example, the key may be the public key.To validate the key, the host device may recognize the public keyassociated with the accessory as being a public key associated with theaccount associated with the host device.

In block 560, host device may automatically connect to the accessory.

Flow diagram 600 of FIG. 6 is an example of actions that may beperformed in accordance with aspects of the technology described herein.A public key and a private key may be associated with an accessory(block 610). This may occur at the time of manufacturing or after. Thepublic key associated with the accessory may then be associated with anaccount (block 620). A host device may be associated with the account(block 630). The account associated with the accessory and the accountassociated with the host device may be the same account. The accessorymay transmit an encrypted message that may include a key (block 640).The key may be the public key associated with the device. The hostdevice may receive the encrypted message transmitted by the accessory(block 650). The host device may validate the key in the encryptedmessage (block 660). The host device and accessory may automaticallyconnect via short-range wireless pairing (block 670).

Unless otherwise stated, the foregoing alternative examples are notmutually exclusive, but may be implemented in various combinations toachieve unique advantages. As these and other variations andcombinations of the features discussed above can be utilized withoutdeparting from the subject matter defined by the claims, the foregoingdescription of the embodiments should be taken by way of illustrationrather than by way of limitation of the subject matter defined by theclaims. As an example, the preceding operations do not have to beperformed in the precise order described above. Rather, various stepscan be handled in a different order or simultaneously. Steps can also beomitted unless otherwise stated. In addition, the provision of theexamples described herein, as well as clauses phrased as “such as,”“including” and the like, should not be interpreted as limiting thesubject matter of the claims to the specific examples; rather, theexamples are intended to illustrate only one of many possibleembodiments. Further, the same reference numbers in different drawingscan identify the same or similar elements.

1. A device associated with an account, the account being associatedwith an accessory having a public key, the device comprising: memory;and one or more processors in communication with the memory andconfigured to: receive, when establishing an initial connection betweenthe device and the accessory, an encrypted message transmitted by theaccessory, wherein the encrypted message contains the public key isencrypted using a private key; decrypt the encrypted message to obtainthe public key; validating the public key; and establish, aftervalidating the public key, the initial connection between the device andthe accessory via short-range wireless pairing.
 2. The device of claim1, wherein the one or more processors are further configured to searchfor the public key.
 3. The device of claim 1, wherein the one or moreprocessors are further configured to providing media to the accessoryafter establishing the initial connection.
 4. The device of claim 1,wherein the public key is associated with a serial number of theaccessory.
 5. The device of claim 1, wherein establishing the initialconnection comprises providing confirmation to the accessory that theaccessory is associated with the account.
 6. A non-transitorycomputer-readable medium storing instructions, the instructions, whenexecuted by one or more processors of a device, cause the one or moreprocessors to: receive, when establishing an initial connection betweenthe device and the accessory, an encrypted message transmitted by theaccessory, wherein the encrypted message contains a public key and isencrypted using a private key; decrypt the encrypted message to obtain apublic key; validate the public key; and establish, after validating thepublic key, the initial connection between the device and the accessoryvia short-range wireless pairing.
 7. The non-transitorycomputer-readable medium of claim 6, wherein the instructions, whenexecuted by the one or more processors of a device, cause the one ormore processors to search for the public key.
 8. The non-transitorycomputer-readable medium of claim 6, wherein the instructions, whenexecuted by the one or more processors of a device, cause the one ormore processors to provide media to the accessory after establishing theinitial connection.
 9. The non-transitory computer-readable medium ofclaim 6, wherein the public key is associated with a serial number ofthe accessory.
 10. The non-transitory computer-readable medium of claim6, wherein establishing the initial connection comprises providingconfirmation to the accessory that the accessory is associated with theaccount.